#ifndef UNIVERSALMDIWINDOW_H
#define UNIVERSALMDIWINDOW_H

#include <QObject>
#include <QMdiSubWindow>
#include <QVector>

//Окно документа с зависимостями
class SubjectWindow : public QMdiSubWindow
{
    Q_OBJECT

protected:
    //Зависимые окна
    QVector<SubjectWindow*> Dependencies;

    //Закрытие окна
    void closeEvent(QCloseEvent *closeEvent);

    //Добавляет множество возможностей, разделённых символом '|'
    void appendFeatures(QString features);

public:
    SubjectWindow();
    virtual ~SubjectWindow();

    //Возможности окна
    QVector<QString> features;

    //# Методы окна, для вызова из панели инструментов

    //Сохранить содержимое
    virtual void save();

    //Сохранить как...
    virtual void saveAs();

    //Открыть файл
    virtual void open();

    //Выбрать мышь
    virtual void selectMouseTool();

signals:
    void closing(QCloseEvent *closeEvent);
};

#endif // UNIVERSALMDIWINDOW_H
